<?php
/**
 * Modelo CRUD de créditos
 * @author Emanuel Melo e Renato Lenz @ PC4 Team
 */
class PC4_Crud_Newsletter_Credito extends PC4_Crud_Abstrato_Rastreado {
	
	/**
	 * Construtor
	 */
	function __construct($tabela = 'creditos') {
		parent::__construct($tabela);
	}
	
	/**
	 * Verifica os campos estão corretos
	 * @param array $campos
	 * @param int $id
	 * @return array com mensagens de erros
	 */
	function valida($campos, $id=0) {
		$erros = array();
		
		if (empty($campos["id_clientes"])) {
			$erros["id_clientes"] = "Escolha um cliente primeiro.";
		}
//		if (empty($campos["valor"])) {
//			$erros["valor"] = "&Eacute; necess&aacute;rio informar um valor.";
//		}
		
		return $erros;
	}
	
	/**
	 * Executa uma consulta retornando as informações sobre os créditos do cliente por paginação
	 * @param int $pagina
	 * @param int $registros
	 * @return array com registros do cliente
	 */
	function lista($pagina = 1, $registros = 20) {
		$offset = ($pagina - 1) * $registros;
		$this->db->select("c.*, c2.nome_fantasia"); 
		$this->db->join('clientes c2','c2.id = c.id_clientes','inner');
		$this->db->order_by("registro", "DESC");
		$rs = parent::lista($pagina, $registros);
		return $rs;
	}
	
	/**
	 * Trata um registro convertendo para o modo de exibição correto
	 * @param object $registro
	 * @return object de um registro
	 */
	function trataRegistro($registro) {
		$registro->registro = sql2date($registro->registro);
		return $registro;
	}
	
	/**
	 * Apaga todos os creditos de um cliente quando este é apagado
	 * @param int $id
	 * @return boolean
	 */
	function apagaPorCliente($id){
		$this->db->delete($this->tabela, array('id_clientes' => $id));
		return true;
	}
}
?>